Categorical features হল ডেটাসেটের এমন বৈশিষ্ট্য যা শ্রেণী বা ক্যাটাগরি নির্দেশ করে, যেমন লিঙ্গ (পুরুষ/নারী), শহর (ঢাকা/কলকাতা), বা অন্যান্য শ্রেণীভুক্ত তথ্য। এই ধরনের বৈশিষ্ট্যগুলোকে মেশিন লার্নিং মডেলগুলিতে ব্যবহার করতে হলে সঠিকভাবে প্রক্রিয়া করা এবং এনকোড করা প্রয়োজন। নিচে Categorical Feature Handling এবং Data Encoding এর পদ্ধতি আলোচনা করা হলো।
Missing Values: ক্যাটাগরিকাল ফিচারের মধ্যে যদি কোন মান অনুপস্থিত থাকে, তাহলে সেগুলো পূরণ করতে হবে।
Data Type পরিবর্তন: Pandas ডেটাফ্রেমে ক্যাটাগরিকাল বৈশিষ্ট্যগুলোকে category
ডেটা টাইপে রূপান্তর করা যেতে পারে, যা মেমরি ব্যবস্থাপনার উন্নতি করে।
ক্যাটাগরিকাল ফিচারগুলোকে সংখ্যাত্মক ফরম্যাটে রূপান্তর করতে হবে যাতে মডেল সেগুলোকে বুঝতে পারে। নীচে সাধারণভাবে ব্যবহৃত কিছু ডেটা এনকোডিং কৌশল আলোচনা করা হলো:
বর্ণনা: প্রতিটি ক্যাটাগরি জন্য নতুন একটি কলাম তৈরি করা হয়, যেখানে ১ এবং ০ দ্বারা নির্দেশ করা হয় যে উদাহরণটি সেই ক্যাটাগরির অন্তর্ভুক্ত কি না।
ব্যবহার: এই পদ্ধতি তখন কার্যকর যখন ক্যাটাগরিকাল ফিচারের সংখ্যা তুলনামূলকভাবে কম এবং কোনও অর্ডার নেই।
import pandas as pd
# উদাহরণ ডেটা
data = pd.DataFrame({
'city': ['Dhaka', 'Chittagong', 'Dhaka', 'Rajshahi']
})
# One-Hot Encoding
encoded_data = pd.get_dummies(data, columns=['city'], drop_first=True)
print(encoded_data)
বর্ণনা: প্রতিটি ক্যাটাগরিকে একটি অনন্য সংখ্যা দিয়ে নির্দেশ করা হয়। এটি সাধারণত যখন ক্যাটাগরিকাল ফিচারগুলির মধ্যে একটি প্রাকৃতিক অর্ডার থাকে তখন ব্যবহৃত হয়।
ব্যবহার: যখন ক্যাটাগরিকাল ফিচারের সংখ্যা কম হয় এবং এটি অর্ডিনাল হতে পারে।
from sklearn.preprocessing import LabelEncoder
# উদাহরণ ডেটা
data = pd.DataFrame({
'city': ['Dhaka', 'Chittagong', 'Dhaka', 'Rajshahi']
})
# Label Encoding
label_encoder = LabelEncoder()
data['city_encoded'] = label_encoder.fit_transform(data['city'])
print(data)
বর্ণনা: প্রতিটি ক্যাটাগরি জন্য তার লক্ষ্য ভেরিয়েবলের গড় মান ব্যবহার করা হয়। এটি মূলত শ্রেণীভিত্তিক মডেলগুলির জন্য ব্যবহৃত হয়।
ব্যবহার: বড় ক্যাটাগরিকাল ফিচারের জন্য কার্যকরী।
# উদাহরণ ডেটা
data = pd.DataFrame({
'city': ['Dhaka', 'Chittagong', 'Dhaka', 'Rajshahi'],
'target': [1, 0, 1, 0]
})
# Target Encoding
mean_encoded = data.groupby('city')['target'].mean().to_dict()
data['city_encoded'] = data['city'].map(mean_encoded)
print(data)
Categorical Feature Handling এবং Data Encoding মেশিন লার্নিং এর গুরুত্বপূর্ণ দিক। ক্যাটাগরিকাল বৈশিষ্ট্যগুলোকে সঠিকভাবে প্রক্রিয়া করা এবং এনকোড করা প্রয়োজন যাতে মডেলগুলি সেগুলোকে সঠিকভাবে বুঝতে পারে। One-Hot Encoding, Label Encoding, এবং Target Encoding হল ক্যাটাগরিকাল বৈশিষ্ট্য এনকোড করার জন্য জনপ্রিয় পদ্ধতি। সঠিক পদ্ধতি নির্বাচন করা ডেটার প্রকার এবং মডেলিং উদ্দেশ্যের উপর নির্ভর করে।
আরও দেখুন...